package broad.gui;

import broad.bean.Log;
import broad.dao.DAOUsuario;
import broad.bean.Usuario;
import broad.dao.DAOLog;
import broad.util.CaixaMensagemGUI;
import broad.util.HashGUI;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.Sessions;
import org.zkoss.zul.Grid;
import org.zkoss.zul.Hbox;
import org.zkoss.zul.Label;
import org.zkoss.zul.Textbox;
import org.zkoss.zul.Window;


public class LoginGUI extends Window{

    private Textbox login, senha;
    //private Grid gridLogin;
    private Hbox box;
    private Label nome;

    public void onCreate(){

        login = (Textbox) getFellow("login");
        senha = (Textbox) getFellow("senha");
        //gridLogin = (Grid) getFellow("gridLogin");
    }

    public void logar(){

        //Executions.getCurrent().sendRedirect("cadastroPessoa.zul");
        String pass = HashGUI.md5(senha.getValue());

        boolean logou = new DAOUsuario().conferirLogin(login.getValue(), pass);

        if (logou) {
            Usuario usu = new DAOUsuario().buscarPorLogin(login.getValue());
            Sessions.getCurrent().setAttribute("logado", usu);
            
            //log cadastro ou edição
            Log log = new Log();
            log.setIdUsuario(usu.getPessoa().getIdPessoa());
            log.setData(new SimpleDateFormat("dd/MM/yyyy HH:mm").format(new Date()));
            log.setDescricao("Usuário " + usu.getIdPessoa() + " logou no sistema.");
            new DAOLog().inserir(log);
            
            Executions.getCurrent().sendRedirect("objeto.zul");

        } else {
            new CaixaMensagemGUI().caixaErro("Login ou senha não conferem", "Falha");
        }
    }
    
}